how a c program is executed